/**
 * 
 */
package se.ricardo.gamesorgs.api.request;

import se.ricardo.gamesorgs.api.common.ListTypes;

/**
 * @author Ricardo Ocaña Leal
 *
 */
public abstract class AbstractRequest {
	protected String company;
	protected String system;
	protected int listType;
	
	/**
	 * Default constructor that sets default values to
	 * the fields.
	 * */
	public AbstractRequest() {
		this("", "", 0);
	}
	
	/**
	 * Constructor that sets given initial values to the
	 * fields.
	 * <br>
	 * 
	 * @param
	 * company String with the name of the company.
	 * @param
	 * system String with the name of the system.
	 * @param
	 * listType Integer representing the list that the game
	 * belongs to.
	 * */
	public AbstractRequest(
			String company,
			String system,
			int listType) {
		this.company = company;
		this.system = system;
		this.listType = listType;
	}
	
	/**
	 * Returns the name of the selected company.
	 * <br>
	 * 
	 * @return
	 * A String with the name of the company.
	 * */
	public String getCompany() {
		return company;
	}
	
	/**
	 * Sets the name of the selected company.
	 * 
	 * @param
	 * company A String with the name of the company.
	 * */
	public void setCompany(String company) {
		this.company = company;
	}
	
	/**
	 * Returns the name of the selected system.
	 * <br>
	 * 
	 * @return
	 * A String with the name of the system.
	 * */
	public String getSystem() {
		return system;
	}
	
	/**
	 * Sets the name of the selected system.
	 * <br>
	 * 
	 * @param
	 * system A String with the name of the system.
	 * */
	public void setSystem(String system) {
		this.system = system;
	}
	
	/**
	 * Returns an integer corresponding with the values
	 * stored in {@link ListTypes}.<br>
	 * Represents the list to store the game in.
	 * <br>
	 * 
	 * @return
	 * listType integer representing the list.
	 * */
	public int getListType() {
		return listType;
	}
	
	/**
	 * Sets the list type with a value corresponding to
	 * what is stored in {@link ListTypes}.
	 * <br>
	 * 
	 * @param
	 * listType Integer representing the list.
	 * */
	public void setListType(int listType) {
		this.listType = listType;
	}
}
